void Change(string &a,int n)//itoa找不到该函数。。。。
{
    int A=n,count=0;
    
    while(A)//判断位数
    {
        A/=10;
        count++;
    }
    while(count>1)
    {
        count--;
        A=pow(10,count);
        a+=n/A+'0';
        n%=A;  
    }
    a+=n%10+'0';
}
int main()
{
    string d1;
    string ret;
    int times;
    cin>>times;
    for(int i =0;i<times;i++)
    {
        cin>>d1;
            if(d1.size()>=10)
            {
              ret+=d1[0];//首元素
        
             //插入中间省略的数值
             Change(ret,d1.size()-2);
        
              ret+=d1.back();//尾元素
        
             cout<<ret<<endl;//打印
             ret.clear();  //清空string 
            }
            else//长度小于10
           {
              cout<<d1<<endl;
           } 
    }
    return 0;
}
